import xlwings as xw

# #1 基础示例(App --> book --> sheet --> range)
# # 打开excel，参数visible表示处理过程是否可观，add_book表示是否打开新的Excel程序
# with xw.App(visible=True, add_book=False) as app:
#     # 创建一个工作簿
#     book = app.books.add()
#     # 工作簿中创建一个sheet表
#     sht = book.sheets.add()
#     # 向表格的A1单元格写入'hello pthon'
#     sht.range('A1').value = 'hello pthon'
#     # 保存
#     book.save('./test.xlsx')

#2 excel程序
app = xw.App()
# 获取程序PID
print(app.pid)
# 获取程序打开数量
print(xw.apps.count)
# 释放
app.quit()
# app.kill()

# 激活指定的app
# app = xw.apps[992]
# app.activate()
# app.activate(steal_focus=True)  # Excel置于最前端

#3 工作簿
# 创建工作簿
# # 创建空白工作簿，保存到指定工作簿，如果指定工作簿存在，数据将被覆盖
book = xw.Book()
book.save('./工作簿1.xlsx')
book.save('./工作簿2.xlsx')  # 另存为
book.close()
# 在当前app下创建
# app1 = xw.App()
# book = app1.books.add('./工作簿1.xlsx')
# book.close()
# 打开指定工作簿
app1 = xw.App()
book = xw.books.open('./工作簿1.xlsx')
book.close()

#4 工作表
app2 = xw.App(visible=True, add_book=False)
app2.screen_updating = False
app2.display_alerts = False
filepath2 = './工作簿1.xlsx'
wb = app2.books.open(filepath2)

sht1 = wb.sheets('Sheet1')
# sht1 = wb.sheets(1)
sht2 = wb.sheets.add('test2', after='sheet1')   # 也有before关键参数
print(wb.sheets.count)

wb.save()
wb.close()
app2.quit()








